<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>Document</title>
  <script src="https://cdn.jsdelivr.net/npm/vue@2.6.10/dist/vue.js"></script>
</head>
<body>
  <div id="app">
    <parent></parent>
  </div>
</body>
<script>

  // 类似于ElementUI框架
  var child = Vue.extend({
    template:`
      <div>
        子组件 <br/>
        <slot name="header"></slot>
        <slot></slot>
        <slot name="footer"></slot>
      </div>
    `
  })

  // Vue.component('child',child) // 全局注册

  // 自己写的组件，比如 用户列表组件 权限列表组件 商品列表组件
  Vue.component('parent',{
    template:`
      <div>
        我是父组件 <br/>
        <hr/>
        <child>
            <!--
              <h4 slot="header">头部</h4>
            -->
            <template v-slot:header>
              <h2>你是个坏人</h2>
            </template>
            <span>你好、世界</span>

            <!--
              <div slot="footer">我是一个好人</div>
            -->
        </child>
      </div>
    `,
    // 局部注册
    components:{
      'child':child
    }
  })

  var vm = new Vue({
    el:'#app'
  })
</script>
</html>
